//
//  MBChatDataManager.h
//  Meboo
//
//  Created by kyo on 2023/10/16.
//

#import <Foundation/Foundation.h>
#import "MBChatNewFriendsModel.h"
#import "NSPrivatePhotoModel.h"
#import <RongCloudOpenSource/RongIMKit.h>
NS_ASSUME_NONNULL_BEGIN

@interface MBChatDataManager : NSObject
/** ///MARK: -- 非会员聊天次数 */
@property (nonatomic , assign) NSInteger messagesNumber;
/** ///MARK: -- match标识 */
@property (nonatomic , assign) BOOL isMatched;

/** ///MARK: -- 新朋友列表 */
@property (nonatomic , strong) NSMutableArray <MBChatNewFriendsModel*>*newFriendsDataArr;
/** ///MARK: -- 在线列表 */
@property (nonatomic , strong) NSMutableArray *onlineCodeArr;
/** ///MARK: -- 私密相册列表 */
@property (nonatomic , strong) NSMutableArray <NSPrivatePhotoModel*>*privateDataArr;
/** ///MARK: -- FC数组 */
@property (nonatomic , strong) NSMutableArray *fcCodeArr;
+ (MBChatDataManager *)sharedManager;

#pragma mark -获取融云token
- (void)getRongCloudToken:(void(^)(BOOL success))resultBlock;

#pragma mark -获取新朋友列表
- (void)getNewFriendsList:(void(^)(BOOL success))resultBlock;

#pragma mark -获取用户信息 根据用户id
- (void)getUserInfoWithUserId:(NSString *)userId completion:(void (^)(RCUserInfo *userInfo))completion;

#pragma mark -获取聊天客服信息
- (void)getChatKefuUrl:(void (^)(RCUserInfo *userInfo))completion;

#pragma mark -举报拉黑
- (void)reportBlockUserWithUserId:(NSString *)userId reason:(NSString *)reason type:(NSInteger)type success:(void(^)(BOOL success))resultBlock;

#pragma mark -获取用户在线状态
- (void)getUserOnlineWithUserCodes:(NSArray *)userCodes success:(void(^)(BOOL success))resultBlock;

#pragma mark -获取用户聊天权限次数
- (void)getUserMessageNumWithUserCode:(NSString *)userCode type:(NSInteger)type success:(void(^)(BOOL success))resultBlock;

#pragma mark -发送私密照片
- (void)sendPrivatePhoteWithImageUrl:(NSString *)imageUrl type:(NSInteger)type videoLength:(NSInteger)videoLength success:(void(^)(BOOL success))resultBlock;

#pragma mark -获取私密照片列表
- (void)getPrivatePhoteList:(void(^)(BOOL success))resultBlock;

#pragma mark -聊天列表获取fc信息
- (void)getChatListFCInfo:(void(^)(BOOL success))resultBlock;
@end

NS_ASSUME_NONNULL_END
